" Input: { options - an ordered list of strings to select from (question) - the question to ask (default) - default selection (no_autoselect) - if "yes", enforce the interactive choice even if there is only 1 option (no_autoretry) - if "yes", bail out on any unsuitable input, do not offer to retry (no_skip_line) - if "yes", do not skip a line after each option (first_match) - if "yes", take the first match in case there are multiple } Output: { selected_index - an index < len(options) selected_value - the string value at selected_index return - return code = 0, if successful > 0, if error (error) - error text if return > 0 } "